<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Auth;

class EntryController extends Controller
{
    public function __construct()
    {
        $this->middleware('admin.auth')->except(['loginForm','login']);
    }

    public function index()
    {
        return view('admin.entry.index');
    }

    /**
     * 登录视图
     */
    public function loginForm()
    {
        return view('admin.entry.login');
    }

    /**
     * 登录处理
     */
    public function login(Request $request)
    {
        // 此处guard的admin配置在config/auth.php->guards.admin
        $status = Auth::guard('admin')->attempt([
            'username' => $request->input('username'),      // 依赖注入模式
            'password' => $request->input('password'),      // 依赖注入模式
//            'username' => Request::input('username'),     // 外观模式，需要use Request;
//            'password' => Request::input('password'),     // 外观模式，需要use Request;
        ]);
        if($status){
            // 登录成功
            return redirect('/admin/index');
        }
        return redirect('/admin/login')->with('error', '用户名或密码错误');
    }

    /**
     * 退出登录
     */
    public function logout()
    {
        Auth::guard('admin')->logout();
        return redirect('/admin/login');
    }
}
